home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F76514_GraphNode.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-04-25  |  12.1 KB  |  718 lines

  1. package com.ibm.ivb.dgraph;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.Point;
  9. import java.awt.Polygon;
  10. import java.awt.Rectangle;
  11. import java.util.Vector;
  12. import javax.swing.Icon;
  13.  
  14. public class GraphNode extends GraphObject {
  15.    private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
  16.    public static final int EXPANSION_ALWAYS = 1;
  17.    public static final int EXPANSION_NONEMPTY = 2;
  18.    private Rectangle expRect;
  19.    private static int defaultLineType;
  20.    private static int defaultFill;
  21.    private static Color defaultColor;
  22.    private static Color defaultHilightColor;
  23.    private static Color defaultBorderColor;
  24.    private static Color defaultSelectedBorderColor;
  25.    private static boolean defaultBorderVisible;
  26.    private static Color defaultLabelColor;
  27.    private static Color defaultSelectedLabelColor;
  28.    private static Color defaultExpansionColor;
  29.    private static int defaultVgap;
  30.    private static int defaultHgap;
  31.    private static boolean defaultExpandable;
  32.    private static Dimension defaultMinimumSize;
  33.    Vector inLinks;
  34.    Vector outLinks;
  35.    private GraphLabel label;
  36.    private Color borderColor;
  37.    private Color hBorderColor;
  38.    private Color labelColor;
  39.    private Color selectedLabelColor;
  40.    private Color expansionColor;
  41.    private int hgap;
  42.    private int vgap;
  43.    private int expansionHeight;
  44.    private boolean expandable;
  45.    private boolean childrenVisible;
  46.    private boolean parentsVisible;
  47.    private boolean fchildrenVisible;
  48.    private boolean fparentsVisible;
  49.    private Dimension minimumSize;
  50.    private boolean borderVisible;
  51.    private int parentExpmode;
  52.    private int childrenExpmode;
  53.    int level;
  54.    int mark;
  55.    // $FF: renamed from: x double
  56.    double field_0;
  57.    // $FF: renamed from: y double
  58.    double field_1;
  59.    boolean fixedY;
  60.    boolean fixed;
  61.    // $FF: renamed from: dx double
  62.    double field_2;
  63.    // $FF: renamed from: dy double
  64.    double field_3;
  65.  
  66.    public GraphNode() {
  67.       this.expRect = new Rectangle();
  68.       this.borderColor = defaultBorderColor;
  69.       this.hBorderColor = defaultSelectedBorderColor;
  70.       this.labelColor = defaultLabelColor;
  71.       this.selectedLabelColor = defaultSelectedLabelColor;
  72.       this.expansionColor = defaultExpansionColor;
  73.       this.hgap = defaultHgap;
  74.       this.vgap = defaultVgap;
  75.       this.expandable = defaultExpandable;
  76.       this.childrenVisible = true;
  77.       this.parentsVisible = true;
  78.       this.fchildrenVisible = false;
  79.       this.fparentsVisible = false;
  80.       this.minimumSize = defaultMinimumSize;
  81.       this.borderVisible = defaultBorderVisible;
  82.       this.parentExpmode = 2;
  83.       this.childrenExpmode = 2;
  84.       this.fixedY = false;
  85.       this.fixed = false;
  86.       this.inLinks = new Vector();
  87.       this.outLinks = new Vector();
  88.       ((GraphObject)this).setFillType(defaultFill);
  89.       ((GraphObject)this).setLineType(defaultLineType);
  90.       ((GraphObject)this).setColor(defaultColor);
  91.       ((GraphObject)this).setHilightColor(defaultHilightColor);
  92.    }
  93.  
  94.    public GraphNode(String var1) {
  95.       this();
  96.       this.label = new GraphLabel(var1);
  97.       this.label.setColor(this.labelColor);
  98.       this.label.setHilightColor(this.selectedLabelColor);
  99.    }
  100.  
  101.    /** @deprecated */
  102.    public GraphNode(String var1, Image var2) {
  103.       this();
  104.       this.label = new GraphLabel(var1, var2);
  105.       this.label.setColor(this.labelColor);
  106.       this.label.setHilightColor(this.selectedLabelColor);
  107.    }
  108.  
  109.    public GraphNode(String var1, Icon var2) {
  110.       this();
  111.       this.label = new GraphLabel(var1, var2);
  112.       this.label.setColor(this.labelColor);
  113.       this.label.setHilightColor(this.selectedLabelColor);
  114.    }
  115.  
  116.    void addInLink(GraphLink var1) {
  117.       this.inLinks.addElement(var1);
  118.    }
  119.  
  120.    void addOutLink(GraphLink var1) {
  121.       this.outLinks.addElement(var1);
  122.    }
  123.  
  124.    public int areParentsLevelled() {
  125.       int var1 = -1;
  126.       if (this.inLinks.size() == 0) {
  127.          return 0;
  128.       } else {
  129.          for(int var2 = 0; var2 < this.inLinks.size(); ++var2) {
  130.             GraphLink var3 = (GraphLink)this.inLinks.elementAt(var2);
  131.             int var4 = var3.getSourceNode().level;
  132.             if (var4 == -1) {
  133.                return -1;
  134.             }
  135.  
  136.             var1 = Math.max(var1, var3.getSourceNode().level);
  137.          }
  138.  
  139.          return var1;
  140.       }
  141.    }
  142.  
  143.    public void calculateSize(FontMetrics var1, double var2) {
  144.       int var4 = (int)((double)this.hgap * var2);
  145.       int var5 = (int)((double)this.vgap * var2);
  146.       int var6 = (int)((double)this.minimumSize.width * var2);
  147.       int var7 = (int)((double)this.minimumSize.height * var2);
  148.       if (this.label == null) {
  149.          super.rect.width = var4 + var4;
  150.          super.rect.height = var5 + var5;
  151.       } else {
  152.          this.label.calculateSize(var1, var2);
  153.          super.rect.width = var4 + this.label.getSize().width + var4;
  154.          super.rect.height = var5 + this.label.getSize().height + var5;
  155.       }
  156.  
  157.       if (super.rect.width < var6) {
  158.          super.rect.width = var6;
  159.       }
  160.  
  161.       if (super.rect.height < var7) {
  162.          super.rect.height = var7;
  163.       }
  164.  
  165.       if (this.expandable) {
  166.          this.expansionHeight = 2 * var1.getHeight() / 3;
  167.          Rectangle var10000 = super.rect;
  168.          var10000.height += this.expansionHeight + this.expansionHeight;
  169.       }
  170.  
  171.    }
  172.  
  173.    public final boolean findCycle(int var1, Vector var2) {
  174.       if (this.outLinks.size() == 0) {
  175.          return false;
  176.       } else {
  177.          for(int var3 = 0; var3 < this.outLinks.size(); ++var3) {
  178.             GraphLink var4 = (GraphLink)this.outLinks.elementAt(var3);
  179.             GraphNode var5 = var4.getTargetNode();
  180.             if (var5.level == -1) {
  181.                if (var5.mark == var1) {
  182.                   var4.reverse();
  183.                   var2.addElement(var4);
  184.                   return true;
  185.                }
  186.  
  187.                var5.mark = var1;
  188.                return var5.findCycle(var1, var2);
  189.             }
  190.          }
  191.  
  192.          return false;
  193.       }
  194.    }
  195.  
  196.    public Color getBorderColor() {
  197.       return this.borderColor;
  198.    }
  199.  
  200.    public int getChildCount() {
  201.       if (!this.childrenVisible) {
  202.          return 0;
  203.       } else {
  204.          int var1 = 0;
  205.  
  206.          for(int var2 = 0; var2 < this.outLinks.size(); ++var2) {
  207.             GraphLink var3 = (GraphLink)this.outLinks.elementAt(var2);
  208.             GraphNode var4 = var3.getTargetNode();
  209.             if (((GraphObject)var4).isVisible()) {
  210.                ++var1;
  211.             }
  212.          }
  213.  
  214.          return var1;
  215.       }
  216.    }
  217.  
  218.    public Vector getChildLinks() {
  219.       return this.outLinks;
  220.    }
  221.  
  222.    public boolean getChildrenVisible() {
  223.       return this.childrenVisible;
  224.    }
  225.  
  226.    public static Color getDefaultBorderColor() {
  227.       return defaultBorderColor;
  228.    }
  229.  
  230.    public static Color getDefaultColor() {
  231.       return defaultColor;
  232.    }
  233.  
  234.    public static Color getDefaultExpansionColor() {
  235.       return defaultExpansionColor;
  236.    }
  237.  
  238.    public static int getDefaultFillType() {
  239.       return defaultFill;
  240.    }
  241.  
  242.    public static int getDefaultHgap() {
  243.       return defaultHgap;
  244.    }
  245.  
  246.    public static Color getDefaultHilightColor() {
  247.       return defaultHilightColor;
  248.    }
  249.  
  250.    public static Color getDefaultLabelColor() {
  251.       return defaultLabelColor;
  252.    }
  253.  
  254.    public static int getDefaultLineType() {
  255.       return defaultLineType;
  256.    }
  257.  
  258.    public static Dimension getDefaultMinimumSize() {
  259.       return defaultMinimumSize;
  260.    }
  261.  
  262.    public static Color getDefaultSelectedBorderColor() {
  263.       return defaultSelectedBorderColor;
  264.    }
  265.  
  266.    public static Color getDefaultSelectedLabelColor() {
  267.       return defaultSelectedLabelColor;
  268.    }
  269.  
  270.    public static int getDefaultVgap() {
  271.       return defaultVgap;
  272.    }
  273.  
  274.    public Color getExpansionColor() {
  275.       return this.expansionColor;
  276.    }
  277.  
  278.    public int getHgap() {
  279.       return this.hgap;
  280.    }
  281.  
  282.    public GraphLabel getLabel() {
  283.       return this.label;
  284.    }
  285.  
  286.    public Color getLabelColor() {
  287.       return this.labelColor;
  288.    }
  289.  
  290.    public Dimension getMinimumSize() {
  291.       return this.minimumSize;
  292.    }
  293.  
  294.    public int getParentCount() {
  295.       if (!this.parentsVisible) {
  296.          return 0;
  297.       } else {
  298.          int var1 = 0;
  299.  
  300.          for(int var2 = 0; var2 < this.inLinks.size(); ++var2) {
  301.             GraphLink var3 = (GraphLink)this.inLinks.elementAt(var2);
  302.             GraphNode var4 = var3.getSourceNode();
  303.             if (((GraphObject)var4).isVisible()) {
  304.                ++var1;
  305.             }
  306.          }
  307.  
  308.          return var1;
  309.       }
  310.    }
  311.  
  312.    public Vector getParentLinks() {
  313.       return this.inLinks;
  314.    }
  315.  
  316.    public boolean getParentsVisible() {
  317.       return this.parentsVisible;
  318.    }
  319.  
  320.    public Color getSelectedBorderColor() {
  321.       return this.hBorderColor;
  322.    }
  323.  
  324.    public Color getSelectedLabelColor() {
  325.       return this.selectedLabelColor;
  326.    }
  327.  
  328.    public int getVgap() {
  329.       return this.vgap;
  330.    }
  331.  
  332.    protected void handleChildrenExpanded(boolean var1) {
  333.    }
  334.  
  335.    protected void handleParentsExpanded(boolean var1) {
  336.    }
  337.  
  338.    public boolean isBorderVisible() {
  339.       return this.borderVisible;
  340.    }
  341.  
  342.    public static boolean isDefaultBorderVisible() {
  343.       return defaultBorderVisible;
  344.    }
  345.  
  346.    public static boolean isDefaultExpandable() {
  347.       return defaultExpandable;
  348.    }
  349.  
  350.    public boolean isExpandable() {
  351.       return this.expandable;
  352.    }
  353.  
  354.    public boolean isExpansion(int var1, int var2) {
  355.       if (!this.expandable) {
  356.          return false;
  357.       } else if (this.expansionHeight < 6) {
  358.          return false;
  359.       } else {
  360.          int var3 = super.rect.x + super.rect.width / 2;
  361.          int var4 = var3 - 7;
  362.          int var5 = var3 + 7;
  363.          if (var1 >= var4 && var1 <= var5) {
  364.             int var6 = super.rect.y + this.expansionHeight / 2;
  365.             int var7 = var6 - 2;
  366.             int var8 = var6 + 2;
  367.             if (var2 >= var7 && var2 <= var8) {
  368.                boolean var13 = !this.parentsVisible;
  369.                this.handleParentsExpanded(var13);
  370.                this.setParentsVisible(var13);
  371.                return true;
  372.             } else {
  373.                var6 = super.rect.y + super.rect.height - this.expansionHeight / 2;
  374.                var7 = var6 - 2;
  375.                var8 = var6 + 2;
  376.                if (var2 >= var7 && var2 <= var8) {
  377.                   boolean var9 = !this.childrenVisible;
  378.                   this.handleChildrenExpanded(var9);
  379.                   this.setChildrenVisible(var9);
  380.                   return true;
  381.                } else {
  382.                   return false;
  383.                }
  384.             }
  385.          } else {
  386.             return false;
  387.          }
  388.       }
  389.    }
  390.  
  391.    public boolean isExpansion(Point var1) {
  392.       return this.isExpansion(var1.x, var1.y);
  393.    }
  394.  
  395.    public void paint(Graphics var1, FontMetrics var2, double var3) {
  396.       int var5 = super.rect.width;
  397.       int var6 = super.rect.height;
  398.       int var7 = var6;
  399.       int var8 = super.rect.x;
  400.       int var9 = super.rect.y;
  401.       int var10 = super.rect.y + super.rect.height;
  402.       int var11 = var9;
  403.       int var12 = var10;
  404.       if (this.expandable) {
  405.          var7 = var6 - (this.expansionHeight + this.expansionHeight);
  406.          var11 = var9 + this.expansionHeight;
  407.          var12 = var10 - this.expansionHeight;
  408.       }
  409.  
  410.       if (!((GraphObject)this).isSelected()) {
  411.          var1.setColor(super.color);
  412.       } else {
  413.          var1.setColor(super.hcolor);
  414.       }
  415.  
  416.       if (((GraphObject)this).getFillType() == 0) {
  417.          var1.fillRect(var8, var11, var5 - 1, var7 - 1);
  418.       } else if (((GraphObject)this).getFillType() == 1) {
  419.          var1.fill3DRect(var8, var11, var5 - 1, var7 - 1, true);
  420.       }
  421.  
  422.       if (this.borderVisible) {
  423.          if (!((GraphObject)this).isSelected()) {
  424.             var1.setColor(this.borderColor);
  425.          } else {
  426.             var1.setColor(this.hBorderColor);
  427.          }
  428.  
  429.          var1.drawRect(var8, var11, var5 - 1, var7 - 1);
  430.       }
  431.  
  432.       this.label.paint(var1, var2, var3);
  433.       if (this.expandable) {
  434.          this.expRect.width = var5;
  435.          this.expRect.height = this.expansionHeight;
  436.          boolean var13 = !this.parentsVisible;
  437.          boolean var14 = this.parentsVisible;
  438.          if (this.inLinks.size() == 0 && this.parentExpmode == 2) {
  439.             var13 = false;
  440.             var14 = false;
  441.          }
  442.  
  443.          this.expRect.x = var8;
  444.          this.expRect.y = var9;
  445.          this.paintExpansionSlot(var1, this.expRect, true, var13, var14);
  446.          var13 = !this.childrenVisible;
  447.          var14 = this.childrenVisible;
  448.          if (this.outLinks.size() == 0 && this.childrenExpmode == 2) {
  449.             var13 = false;
  450.             var14 = false;
  451.          }
  452.  
  453.          this.expRect.x = var8;
  454.          this.expRect.y = var12;
  455.          this.paintExpansionSlot(var1, this.expRect, false, var13, var14);
  456.       }
  457.  
  458.    }
  459.  
  460.    private void paintExpansionSlot(Graphics var1, Rectangle var2, boolean var3, boolean var4, boolean var5) {
  461.       Polygon var6 = new Polygon();
  462.       if (var3) {
  463.          var6.addPoint(var2.x, var2.y + var2.height);
  464.          var6.addPoint(var2.x + var2.height, var2.y);
  465.          var6.addPoint(var2.x + var2.width - var2.height, var2.y);
  466.          var6.addPoint(var2.x + var2.width, var2.y + var2.height);
  467.       } else {
  468.          var6.addPoint(var2.x, var2.y);
  469.          var6.addPoint(var2.x + var2.width, var2.y);
  470.          var6.addPoint(var2.x + var2.width - var2.height, var2.y + var2.height);
  471.          var6.addPoint(var2.x + var2.height, var2.y + var2.height);
  472.       }
  473.  
  474.       var1.setColor(this.expansionColor);
  475.       var1.fillPolygon(var6);
  476.       var1.setColor(Color.black);
  477.       if (this.expansionHeight >= 6) {
  478.          int var7 = var2.x + var2.width / 2 + 1;
  479.          int var8 = var2.y + this.expansionHeight / 2 + 1;
  480.          var1.setColor(Color.white);
  481.          if (var4) {
  482.             var1.drawLine(var7 - 7, var8, var7 - 3, var8);
  483.             var1.drawLine(var7 - 5, var8 + 2, var7 - 5, var8 - 2);
  484.          }
  485.  
  486.          if (var5) {
  487.             var1.drawLine(var7 + 3, var8, var7 + 7, var8);
  488.          }
  489.  
  490.          --var7;
  491.          --var8;
  492.          var1.setColor(Color.black);
  493.          if (var4) {
  494.             var1.drawLine(var7 - 7, var8, var7 - 3, var8);
  495.             var1.drawLine(var7 - 5, var8 + 2, var7 - 5, var8 - 2);
  496.          }
  497.  
  498.          if (var5) {
  499.             var1.drawLine(var7 + 3, var8, var7 + 7, var8);
  500.          }
  501.       }
  502.  
  503.    }
  504.  
  505.    void removeInLink(GraphLink var1) {
  506.       this.inLinks.removeElement(var1);
  507.    }
  508.  
  509.    void removeOutLink(GraphLink var1) {
  510.       this.outLinks.removeElement(var1);
  511.    }
  512.  
  513.    public void setBorderColor(Color var1) {
  514.       this.borderColor = var1;
  515.    }
  516.  
  517.    public void setBorderVisible(boolean var1) {
  518.       this.borderVisible = var1;
  519.    }
  520.  
  521.    public void setChildrenExpansionMode(int var1) {
  522.       this.childrenExpmode = var1;
  523.       this.childrenVisible = false;
  524.    }
  525.  
  526.    public void setChildrenVisible(boolean var1) {
  527.       for(int var2 = 0; var2 < this.outLinks.size(); ++var2) {
  528.          GraphLink var3 = (GraphLink)this.outLinks.elementAt(var2);
  529.          GraphNode var4 = var3.getTargetNode();
  530.          ((GraphObject)var4).setVisible(var1);
  531.          if (!var1) {
  532.             var4.setChildrenVisible(var1);
  533.          }
  534.       }
  535.  
  536.       this.childrenVisible = var1;
  537.    }
  538.  
  539.    void setChildrenVisibleFlag(boolean var1) {
  540.       this.childrenVisible = var1;
  541.    }
  542.  
  543.    public static void setDefaultBorderColor(Color var0) {
  544.       defaultBorderColor = var0;
  545.    }
  546.  
  547.    public static void setDefaultBorderVisible(boolean var0) {
  548.       defaultBorderVisible = var0;
  549.    }
  550.  
  551.    public static void setDefaultColor(Color var0) {
  552.       defaultColor = var0;
  553.    }
  554.  
  555.    public static void setDefaultExpandable(boolean var0) {
  556.       defaultExpandable = var0;
  557.    }
  558.  
  559.    public static void setDefaultExpansionColor(Color var0) {
  560.       defaultExpansionColor = var0;
  561.    }
  562.  
  563.    public static void setDefaultFillType(int var0) {
  564.       defaultFill = var0;
  565.    }
  566.  
  567.    public static void setDefaultHgap(int var0) {
  568.       defaultHgap = var0;
  569.    }
  570.  
  571.    public static void setDefaultHilightColor(Color var0) {
  572.       defaultHilightColor = var0;
  573.    }
  574.  
  575.    public static void setDefaultLabelColor(Color var0) {
  576.       defaultLabelColor = var0;
  577.    }
  578.  
  579.    public static void setDefaultLineType(int var0) {
  580.       defaultLineType = var0;
  581.    }
  582.  
  583.    public static void setDefaultMinimumSize(Dimension var0) {
  584.       defaultMinimumSize = var0;
  585.    }
  586.  
  587.    public static void setDefaultSelectedBorderColor(Color var0) {
  588.       defaultSelectedBorderColor = var0;
  589.    }
  590.  
  591.    public static void setDefaultSelectedLabelColor(Color var0) {
  592.       defaultSelectedLabelColor = var0;
  593.    }
  594.  
  595.    public static void setDefaultVgap(int var0) {
  596.       defaultVgap = var0;
  597.    }
  598.  
  599.    public void setExpandable(boolean var1) {
  600.       this.expandable = var1;
  601.    }
  602.  
  603.    public void setExpansionColor(Color var1) {
  604.       this.expansionColor = var1;
  605.    }
  606.  
  607.    public void setHgap(int var1) {
  608.       this.hgap = var1;
  609.    }
  610.  
  611.    public void setImage(Image var1) {
  612.       if (this.label == null) {
  613.          this.setLabel("");
  614.       }
  615.  
  616.       this.label.setImage(var1);
  617.    }
  618.  
  619.    public void setLabel(GraphLabel var1) {
  620.       this.label = var1;
  621.    }
  622.  
  623.    public void setLabel(String var1) {
  624.       this.label = new GraphLabel(var1);
  625.       this.label.setColor(this.labelColor);
  626.    }
  627.  
  628.    public void setLabelColor(Color var1) {
  629.       this.labelColor = var1;
  630.       if (this.label != null) {
  631.          this.label.setColor(var1);
  632.       }
  633.  
  634.    }
  635.  
  636.    void setLocation() {
  637.       int var1 = (int)this.field_0 - super.rect.width / 2;
  638.       int var2 = (int)this.field_1 - super.rect.height / 2;
  639.       this.setLocation(var1, var2);
  640.    }
  641.  
  642.    public void setLocation(int var1, int var2) {
  643.       super.setLocation(var1, var2);
  644.       if (this.label != null) {
  645.          Dimension var3 = this.label.getSize();
  646.          int var4 = super.rect.x + super.rect.width / 2;
  647.          int var5 = super.rect.y + super.rect.height / 2;
  648.          this.label.setLocation(var4 - var3.width / 2, var5 - var3.height / 2);
  649.       }
  650.  
  651.    }
  652.  
  653.    public void setMinimumSize(Dimension var1) {
  654.       this.minimumSize = var1;
  655.    }
  656.  
  657.    public void setParentExpansionMode(int var1) {
  658.       this.parentExpmode = var1;
  659.       this.parentsVisible = false;
  660.    }
  661.  
  662.    public void setParentsVisible(boolean var1) {
  663.       for(int var2 = 0; var2 < this.inLinks.size(); ++var2) {
  664.          GraphLink var3 = (GraphLink)this.inLinks.elementAt(var2);
  665.          GraphNode var4 = var3.getSourceNode();
  666.          ((GraphObject)var4).setVisible(var1);
  667.          if (!var1) {
  668.             var4.setParentsVisible(var1);
  669.          }
  670.       }
  671.  
  672.       this.parentsVisible = var1;
  673.    }
  674.  
  675.    void setParentsVisibleFlag(boolean var1) {
  676.       this.parentsVisible = var1;
  677.    }
  678.  
  679.    public void setSelected(boolean var1) {
  680.       if (this.label != null) {
  681.          this.label.setSelected(var1);
  682.       }
  683.  
  684.       super.setSelected(var1);
  685.    }
  686.  
  687.    public void setSelectedBorderColor(Color var1) {
  688.       this.hBorderColor = var1;
  689.    }
  690.  
  691.    public void setSelectedLabelColor(Color var1) {
  692.       this.selectedLabelColor = var1;
  693.       if (this.label != null) {
  694.          this.label.setHilightColor(var1);
  695.       }
  696.  
  697.    }
  698.  
  699.    public void setVgap(int var1) {
  700.       this.vgap = var1;
  701.    }
  702.  
  703.    static {
  704.       defaultColor = Color.white;
  705.       defaultHilightColor = Color.lightGray;
  706.       defaultBorderColor = Color.gray;
  707.       defaultSelectedBorderColor = defaultHilightColor;
  708.       defaultBorderVisible = true;
  709.       defaultLabelColor = Color.magenta.darker();
  710.       defaultSelectedLabelColor = defaultLabelColor;
  711.       defaultExpansionColor = new Color(225, 225, 225);
  712.       defaultVgap = 4;
  713.       defaultHgap = 4;
  714.       defaultExpandable = true;
  715.       defaultMinimumSize = new Dimension(0, 0);
  716.    }
  717. }
  718.